<template>
  <div>

    <el-form ref="" :model="formFileds">
      <el-row :gutter="24">
        <el-col :span="12">
          <el-form-item>
            <el-input v-model="formFileds.text"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="2">
          <el-form-item>
            <el-button type="primary" @click="onSubmit">查询
            </el-button>
          </el-form-item>
        </el-col>
        <el-col :span="2">
          <el-form-item>
            <el-button type="primary" @click="add">增加
            </el-button>
          </el-form-item>
        </el-col>

      </el-row>
    </el-form>

    <!--表格内容-->
    <el-table ref="list" :data="tableData" style="width: 100%; margin-bottom: 5px;" border stripe highlight-current-row
      :default-sort="{prop: 'date', order: 'descending'}" @row-click="handleRowClick"
      @select-all="handleCheckedAllAndCheckedNone" @select="handleCheckedAllAndCheckedNone"
      :header-cell-style="{textAlign:'center'}" :cell-style="{textAlign:'center'}">
      <el-table-column property="name" label="企业名称">
      </el-table-column>
      <el-table-column property="accountNum" label="企业账号">
      </el-table-column>
      <el-table-column property="province" label="省份">
      </el-table-column>
      <el-table-column property="city" label="所在城市">
      </el-table-column>
      <el-table-column property="address" label="详细地址">
      </el-table-column>
      <el-table-column property="tel" label="联系电话">
      </el-table-column>
      <el-table-column label="操作" width="240px" fixed="right">
        <template slot-scope="scope">
          <el-button circle icon="el-icon-key" type="success" title="重置密码" size="small"
            @click="passwordChange();"></el-button>
          <el-button circle icon="el-icon-phone" type="success" title="变更手机号" size="small"
            @click="phoneChange();"></el-button>
            <el-button circle icon="el-icon-edit-outline" type="primary" title="编辑" size="small"
            @click="rowEdit(scope.$index, scope.row)"></el-button>
            <el-button circle icon="el-icon-delete" type="danger" title="删除" size="small"
              @click="rowDel(scope.$index, scope.row, $event);"></el-button>
        </template>
      </el-table-column>
    </el-table>

    <!--分页-->
    <el-pagination :page-sizes="[10, 20, 30, 40,100]" :page-size="10" :total="100"
      layout="total, sizes, prev, pager, next, jumper">
    </el-pagination>

    <!-- 增加-弹出层 -->
    <EnterprisesAdd v-if="enterprisesAdd" :enterprisesAdd="enterprisesAdd" @dialogClose="dialogClose"></EnterprisesAdd>
    <EnterprisesEdit v-if="enterprisesEdit" :enterprisesEdit="enterprisesEdit" @dialogClose="dialogClose"></EnterprisesEdit>
    <Password v-if="passwordChangeShow" :passwordChangeShow="passwordChangeShow" @dialogClose="dialogClose"></Password>
    <Phone v-if="phoneChangeShow" :phoneChangeShow="phoneChangeShow" @dialogClose="dialogClose"></Phone>
  </div>
</template>
    
<script>
import EnterprisesAdd from './enterprisesAdd.vue';
import EnterprisesEdit from './enterprisesEdit.vue';
import Password from './passwordChange.vue';
import Phone from './phoneChange.vue';
export default {
  name: "enterprisesManage",
  components: {
    EnterprisesAdd,
    EnterprisesEdit,
    Password,
    Phone
},
  data () {
    return {
      formFileds: {
      },
      tableData: [{
        id: 0,
        company: '德邦电机公司',
        accountNum: 'JHS111',
        province: '湖南省',
        city:'长沙',
        address: 'x',
        tel:'10086111111',
      },
      {
        id: 1,
        company: '德邦电机公司',
        accountNum: 'JHS111',
        province: '湖南省',
        city:'长沙',
        address: 'x',
        tel:'10086111111',
      },
      {
        id: 2,
        company: '德邦电机公司',
        accountNum: 'JHS111',
        province: '湖南省',
        city:'长沙',
        address: 'x',
        tel:'10086111111',
      }],
      enterprisesAdd: false,
      enterprisesEdit: false,
      passwordChangeShow: false,
      phoneChangeShow: false
    }
  },
  methods: {

    handleRowClick (row, event, column) {

      // 仅选中当前行
      this.setCurRowChecked(row);
    },
    handleCheckedAllAndCheckedNone (selection) {

      // 当前选中仅一行时操作-（当前表格行高亮）
      1 != selection.length && this.$refs.list.setCurrentRow();
    },

    dialogClose () {

      this.enterprisesAdd = false;
      this.enterprisesEdit = false;
      this.passwordChangeShow = false;
      this.phoneChangeShow = false;
    },
    rowDel (index, row, event) {
  
    // 让当前删除按钮失焦
    event.target.blur();

    this.$confirm('确定要删除当前行吗？', '删除', {
      comfirmButtonText: '确定',
      cancelButtonText: '取消'
    }).then(() => {

      this.tableData.splice(row.id, 1);
      this.$message.success('删除成功');
      return false;
    });
  },

    rowEdit (index, row) {
      //  console.log(1111)
      // this.$refs.detailRef.handleEdit('qqqq')

      // //当前选中行
      this.formFileds = row;
      console.log(1)
      this.enterprisesEdit = true;
    },
    handleEdit (id) {
      this.$refs.editForm.validate(isValid => {

        if (!isValid) return;

        // 保存编辑后的数据
        Object.assign(this.tableData[id], this.formFileds);
        this.enterprisesEdit = false;

        // 考虑到可能编辑了日期-需要重新排序
        // ***注意：手动排序传参和表格的default-sort属性格式不太一样
        this.$refs.list.sort('date', 'descending');

        this.$message.success('编辑成功');
      });
    },
    add () {

       this.enterprisesAdd = true;
    },
    passwordChange(){
      this.passwordChangeShow = true;
    },
    phoneChange(){
      this.phoneChangeShow = true;
    }
  }
}
</script>
    
<style scoped lang="less">
.el-form {
  padding: 0 10px;
}

.el-date-editor {
  width: 100% !important;
}
</style>
    